Many mobile computing devices support wireless communications so that users may connect those devices to networks without constraints on mobility imposed by wired connections. However, wireless communications are susceptible to many conditions that can degrade network performance. For example, if a mobile device is too far from an access point, the wireless signal that it transmits or receives may be too weak to effectively carry information. As another example, a source of interference that is too close to the mobile computing device can interrupt communication.
Because of these possible sources of problems in wireless communication, wireless communication protocols such as IEEE 802.11 include error correction attributes. Error correction is achieved by encoding a transmitted packet using a redundant scheme that allows a receiving device to identify both that a change has occurred and what has changed between transmission and reception of the packet. If more redundancy is used to encode a packet, more errors can be detected and corrected. For example, a standard encoding scheme may provide a redundant encoding scheme sufficient to correct errors in multiple bits, such as six or eight bits in a packet.
Wireless protocols may also specify mechanisms that allow devices communicating over a wireless channel to adapt to conditions in a channel. For example, devices may adapt to a high level of dropped packets by increasing the amount of redundancy used for encoding packets so that more errors can be corrected for each packet. Alternatively, devices could adapt by increasing the power level used for transmission or decreasing the data rate communicated over the channel. When changes to the characteristics of signals communicated in a channel are not effective, devices may adapt by changing channels used for communication.